home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / standards / CCITT / 1992 / X / x290_3.asc < prev    next >
Encoding:
Text File  |  1993-07-15  |  70.3 KB  |  1,715 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19. PART 2: ABSTRACT TEST SUITE SPECIFICATION
  20.  
  21. Introduction
  22.  
  23.        This part of the Recommendation provides a common approach  to  the
  24. specification of "OSI or related CCITT X-Series  or  T-Series"  (hereafter
  25. abbreviated to "OSI*") conformance test suites at a level which is
  26. independent of the means of executing those test suites (hereafter called "abstract 
  27. test suites"). This level of abstraction is suitable  for  standardization  and
  28. facilitates the comparison of results produced by different organizations which run 
  29. the corresponding executable test suites.
  30.  
  31.        Section 1 recalls that there are requirements put on the  OSI*  protocol
  32. specifiers which have to be fulfilled before there can be an objective basis for 
  33. the process of developing an abstract  test  suite.  The  need  for  consistent
  34. conformance sections  and  for  PICS  and  PIXIT  proformas  in  OSI*  protocol
  35. Recommendations* is expressed.
  36.  
  37.        Section 2 describes the process of developing an  abstract  test  suite,
  38. including the design criteria to be used and  guidance  on  its  structure  and
  39. coverage. The possible abstract test methods are defined and guidance is given to 
  40. help the test suite specifier to decide which method(s) to use in the production of 
  41. a particular test suite. The relationship  between  abstract  test  suites  for
  42. different methods is provided by a generic test suite which is independent of the 
  43. test method. A test notation is defined and requirements and guidance are given on 
  44. its use for specifying both generic and abstract test cases. These include  the
  45. subdivision of test cases into test steps and the  assignment  of  verdicts  to
  46. outcomes.
  47.  
  48.        The test suite specifier is also required to provide information to  the
  49. test realizers, particularly on the constraints governing test case selection and 
  50. ordering.
  51.  
  52.        Finally, guidance and requirements are given on test suite maintenance.
  53.  
  54. 1.     Scope and field of application
  55.  
  56.        This part of the Recommendation specifies the requirements and  provides
  57. guidance for the production of system-independent conformance test suites for one 
  58. or more OSI* Recommendations*. In particular, it applies to the production of all 
  59. conformance test suite Recommendations* for OSI* protocols.
  60.  
  61.        It applies to the production of conformance test cases which  check  the
  62. adherence of an implementation to the relevant static and/or dynamic conformance 
  63. requirements by controlling and observing protocol behaviour. The abstract test 
  64. methods included in this Recommendation are in fact capable of  being  used  to
  65. specify any test case which can be expressed abstractly in terms of control and 
  66. observation of protocol data units, abstract service primitives and abstract local 
  67. primitives. Nevertheless, for some protocols, test cases may be needed which cannot 
  68. be expressed in these terms. The specification of such test cases is outside the 
  69. scope of this Recommendation, although those test cases may need to be included in 
  70. a Recommendation* for a conformance test suite.
  71.  
  72. Note - For example, some static conformance requirements related to an application 
  73. service may require testing techniques which are specific  to  that  particular
  74. application.
  75.  
  76.        The production of conformance test suites for multi-peer or physical layer 
  77. protocols is outside the scope of this Recommendation.
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.        The relation between abstract test specification and formal  description
  86. techniques is outside the scope of this Recommendation.
  87.  
  88. 2.     References
  89.  
  90. Recommendation X.200 - Reference model of open systems interconnection  for  CCITT
  91. applications. (See also ISO 7498.)
  92.  
  93. Recommendation X.214 - Transport service definition for open systems interconnection 
  94. for CCITT applications. (See also ISO 8072.)
  95.  
  96. Recommendation  X.224  -  Transport  protocol  specification  for   open   systems
  97. interconnection for CCITT applications. (See also ISO 8073.)
  98.  
  99. Recommendation X.210 -  Open  systems  interconnection  layer  service  definition
  100. conventions. (See also ISO TR 8509.)
  101.  
  102. Recommendation X.208 - Specification of Abstract Syntax Notation One (ASN.1). (See 
  103. also ISO 8824.)
  104.  
  105. Recommendation X.209 - Specification of basic encoding rules for  Abstract  Syntax
  106. Notation One (ASN.1). (See also ISO 8825.)
  107.  
  108. Recommendation X.290/1 - OSI conformance testing  methodology  and  framework  for
  109. protocol Recommendations for CCITT applications - Part 1: General concepts.
  110.  
  111. ISO 8571-4 - Information processing systems - Open Systems Interconnection -  File
  112. protocol specification.
  113.  
  114. 3.     Definitions
  115.  
  116.        For the purposes of this part of the Recommendation, all the definitions in 
  117. Part 1 of the Recommendation apply.
  118.  
  119. 4.     Abbreviations
  120.  
  121.        For the purposes of this Recommendation the abbreviations given in section 4 
  122. of Part 1 of this Recommendation apply. The following abbreviations also apply to this 
  123. Recommendation:
  124.  
  125.        ASP : the abstract service primitive on the side of  the  service
  126.        provider remote from the IUT
  127.  
  128.        CM  : coordinated multi-layer (test method)
  129.  
  130.        CS  : coordinated single-layer (test method)
  131.  
  132.        CSE : coordinated single-layer embedded (test method)
  133.  
  134.        DM  : distributed multi-layer (test method)
  135.  
  136.        DS  : distributed single-layer (test method)
  137.  
  138.        DSE : distributed single-layer embedded (test method)
  139.  
  140.        FDT : formal description technique
  141.  
  142.        LM  : local multi-layer (test method)
  143.  
  144.  
  145.  
  146.  
  147.  
  148.  
  149.  
  150.  
  151.  
  152.  
  153.  
  154.  
  155.        LS  : local single-layer (test method)
  156.  
  157.        LSE : local single-layer embedded (test method)
  158.  
  159.        RM  : remote multi-layer (test method)
  160.  
  161.        RS  : remote single-layer (test method)
  162.  
  163.        RSE : remote single-layer embedded (test method)
  164.  
  165.        TTCN: tree and tabular combined notation
  166.  
  167.        YL  : loop-back (test method)
  168.  
  169.        YT  : transverse (test method).
  170.  
  171. 5.     Compliance
  172.  
  173. 5.1    A protocol Recommendation* which complies with this part  of  this
  174. Recommendation shall satisfy all the requirements stated in section 1.
  175.  
  176. Note - Such compliance is a precondition for the protocol Recommendation* to be an 
  177. effective basis for conformance testing of implementations.
  178.  
  179. 5.2    An abstract test suite specification which complies with this part of this 
  180. Recommendation
  181.  
  182.        a)   shall be a conformance test suite;
  183.  
  184.        b)   shall be specified in a test notation standardized by  ISO  or
  185.             CCITT;
  186.  
  187.        c)   shall satisfy all the requirements stated in section 2.
  188.  
  189. 5.3    It is recommended that the test notation used be the Tree  and  Tabular
  190. Combined Notation (TTCN). If TTCN is used, the abstract test suite shall comply 
  191. with all the requirements in Annex D.  
  192. Section 1 - Requirements on protocol specifiers
  193.  
  194. 6.     Conformance requirements in OSI* Recommendations*
  195.  
  196. 6.1    Introduction
  197.  
  198.        The meaning of conformance in OSI* is  discussed  in  Part  1  of  this
  199. Recommendation. It is necessary that there be  an  unambiguous  and  objective
  200. understanding of the conformance requirements of an OSI* protocol or  transfer
  201. syntax Recommendation*, as a prerequisite to the production of an abstract test 
  202. suite for that Recommendation*. This section states the requirements on protocol 
  203. specifiers to ensure that there is such an understanding  of  the  conformance
  204. requirements.
  205.  
  206. 6.2    General requirements
  207.  
  208. 6.2.1  A clear distinction shall be made between static and dynamic conformance 
  209. requirements. To avoid ambiguity, they should be stated  separately  from  one
  210. another.
  211.  
  212. 6.2.2  It shall be clear what conformance to the Recommendation* means, in the 
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219. sense of what shall be done, what is permitted but not mandatory, and what shall 
  220. not be implemented, to conform to the Recommendation*.
  221.  
  222. 6.2.3  It shall always be decidable whether an instance of communication conforms 
  223. dynamically or not.
  224.  
  225.        For example, one should be able to look at a record of PDU activity and 
  226. decide whether it is valid.
  227.  
  228. 6.2.4  Requirements on the need to produce and content of a PICS shall be stated 
  229. separately from the requirements on the protocol implementation itself.
  230.  
  231. 6.3    Conformance sections
  232.  
  233. 6.3.1  Each OSI* protocol and transfer syntax Recommendation* shall include  a
  234. conformance section, which shall be expressed clearly and unambiguously.
  235.  
  236. 6.3.2  Conformance sections shall distinguish between the following categories of 
  237. information that they may contain:
  238.  
  239.        a)   references to sections which state  dynamic  conformance
  240.             requirements;
  241.  
  242.        b)   static conformance requirements concerning  the  protocol
  243.             implementation;
  244.  
  245.        c)   static conformance requirements  concerning  multi-layer
  246.             dependencies;
  247.  
  248.        d)   what has to be stated in the PICS concerning (b) above;
  249.  
  250.        e)   what has to be stated in the PICS concerning (c) above;
  251.  
  252.        f)   what other information shall be provided (e.g. to assist testing)  and 
  253.             whether this should be in the PICS or elsewhere.
  254.  
  255. 6.3.3  In connection-oriented protocol Recommendations*,  the  conformance
  256. section should also include:
  257.  
  258.        a)   the option to support either the initiation of a connection or the 
  259.             acceptance of a connection, or both;
  260.  
  261.        b)   the requirement to be able to accept all correct sequences of PDUs 
  262.             received from peers, and respond  with  correct  PDU  sequences
  263.             appropriate to the defined state of the connection;
  264.  
  265.        c)   the requirement to be able to respond correctly to  all  incorrect
  266.             sequences of PDUs received, the response being appropriate to  the
  267.             defined state of the connection.
  268.  
  269. 6.4    Additional guidance for new protocol Recommendations*
  270.  
  271.        It is recognized that although existing protocol Recommendations* can be 
  272. improved by the progression of an addendum to add a PICS proforma and make the 
  273. conformance section align with the requirements stated above, it is unrealistic to 
  274. expect any greater improvement. However, new protocol Recommendations* should be 
  275. developed using the additional guidance given in Annex B to make the  task  of
  276. understanding the conformance requirements easier and less prone to ambiguity.
  277.  
  278.  
  279.  
  280.  
  281.  
  282.  
  283.  
  284.  
  285.  
  286.  
  287.  
  288.  
  289. 7.     PICS proformas
  290.  
  291. 7.1    Requirements on PICS proformas
  292.  
  293. 7.1.1  The specific requirements to be met by suppliers in respect of each PICS 
  294. they provide shall normally be stated in the relevant protocol Recommendation*. 
  295. The specification of these requirements shall  include  a  PICS  proforma.  In
  296. exceptional circumstances, the PICS proforma may be found in the abstract test 
  297. suite Recommendation* rather than in protocol Recommendation*; in particular, this 
  298. applies when the PICS proforma has to cover different  versions  of  the  same
  299. protocol coming from both ISO and CCITT. In  normal  circumstances,  the  PICS
  300. proforma should be found in an  annex  to  the  protocol  Recommendation*  and
  301. referenced in the conformance section, and, if  necessary,  progressed  as  an
  302. addendum rather than as part of the original Recommendation*.
  303.  
  304. Note - A PICS for a specific protocol implementation will need to be accompanied by 
  305. administrative and documentary information relating to the supplier, the system and 
  306. its intended environment.
  307.  
  308. 7.1.2  The PICS proforma shall be in the form of a questionnaire or checklist to be 
  309. completed by the supplier or implementor of an implementation of the relevant OSI* 
  310. protocol.
  311.  
  312. 7.1.3  The PICS  proforma  shall  cover  all  functions,  elements  of  procedure,
  313. parameters, options, PDUs, timers, multi-layer dependencies and other capabilities 
  314. identified in the protocol Recommendation*,  including  optional  and  conditional
  315. capabilities. It is desirable, where practicable, to include all mandatory features. 
  316. There shall be a well-defined mapping between static conformance requirements and the 
  317. PICS proforma and there shall be consistency between them.
  318.  
  319. 7.1.4  The PICS proforma shall be preceded by a section that states:
  320.  
  321.        "The supplier of a protocol implementation which is claimed to conform to 
  322.        this Recommendation shall complete the following Protocol Implementation 
  323.        Conformance Statements (PICS) proforma and shall provide the information 
  324.        necessary to identify uniquely both the supplier and the implementation."
  325.  
  326. 7.1.5  The name, version and date of the relevant protocol Recommendation* shall 
  327. be stated on each page of the PICS proforma.
  328.  
  329. 7.1.6  The PICS proforma for a specific protocol shall contain:
  330.  
  331.        a)   explanations of special symbols, abbreviations,  special  terms,
  332.             together with appropriate references;
  333.  
  334.        b)   explicit instructions for completing and interpreting the PICS;
  335.  
  336.        c)   provision for mentioning any mandatory feature that has  not  been
  337.             implemented, with the appropriate rationale;
  338.  
  339.        d)   one or more tables (or other kinds of form as necessary)  to  be
  340.             completed to state the capabilities  of  the  implementation  in
  341.             detail, including:
  342.  
  343.             1)   name of the feature, PDU type, timer, parameter,  and  other
  344.                  capabilities;
  345.  
  346.             2)   a column stating whether each is  mandatory,  optional,
  347.                  negotiable, or conditional;
  348.  
  349.  
  350.  
  351.  
  352.  
  353.  
  354.  
  355.             3)   wherever feasible, a column giving references  to  the
  356.                  relevant sections in the Recommendation;
  357.  
  358.             4)   a column giving the permitted range or  values,  if
  359.                  appropriate;
  360.  
  361.             5)   a column to be filled in to give the supported  values  or
  362.                  range of values, if appropriate;
  363.  
  364.             6)   a column to be filled in to state if each capability has been 
  365.                  implemented;
  366.  
  367.        e)   the proforma shall give a clear indication of the  preferred  data
  368.             types (e.g. number bases, string  types,  octets,  bits,  seconds,
  369.             minutes, etc.) for responses.
  370.  
  371. 7.1.7  The PICS proforma shall use the following abbreviations  as  appropriate,
  372. unless they conflict with  the  abbreviations  used  in  the  specific  protocol
  373. Recommendation*:
  374.  
  375.        m: mandatory
  376.  
  377.        o: optional
  378.  
  379.        c: conditional
  380.  
  381.        n: negotiable (using the protocol)
  382.  
  383.        x: exclusion of capability
  384.  
  385.        -: not applicable
  386.  
  387.        s: ability to send
  388.  
  389.        r: ability to receive
  390.  
  391. 7.2    Guidance on PICS proformas
  392.  
  393.        Appendix III provides some general purpose examples to give guidance on the 
  394. construction of PICS proformas.
  395.  
  396. Section 2 - Requirements on abstract test suite specifiers
  397.  
  398. 8.     Test suite production process
  399.  
  400.        In order to present the requirements and general guidance for abstract test 
  401. suite specification, it is useful to assume a normal form of the process of test 
  402. suite production. This section describes the process in just such a normal form. 
  403. Abstract test suite specifiers are not required to follow this normal form exactly, 
  404. however, they are recommended to use a similar process involving the same steps, 
  405. possibly in a different order.
  406.  
  407.        For the purposes of this Recommendation, the abstract test suite production 
  408. process is assumed to be as follows:
  409.  
  410.        a)   study the relevant Recommendation(s)* to determine  what  the
  411.             conformance requirements (including options) are which need to 
  412.             be tested, and what needs to  be  stated  in  the  PICS  (see
  413.  
  414.  
  415.  
  416.  
  417.  
  418.  
  419.  
  420.  
  421.  
  422.  
  423.  
  424.        section 9);
  425.  
  426.        b)   decide on the test groups which will be needed to  achieve  the
  427.             appropriate coverage of the conformance requirements and refine 
  428.             the test groups into sets of test purposes (see section 10);
  429.  
  430.        c)   specify generic test cases for each test purpose,  using  some
  431.             appropriate test notation (see section 11);
  432.  
  433.        d)   choose the test method(s) for which the complete  abstract  test
  434.             cases need to be specified, and decide what restrictions need to be 
  435.             placed on the capabilities of the lower tester and (if appropriate 
  436.             to  the  chosen  test  method(s))  the  upper  tester  and  test
  437.             coordination procedures (see section 12);
  438.  
  439.        e)   choose the test notation for specifying the complete abstract test 
  440.             cases, and specify the complete abstract test cases, including the 
  441.             test step structure to be used (see section 13);
  442.  
  443.        f)   specify the inter-relationships among the test cases  and  those
  444.             between the test cases and the PICS and, as far as possible, the 
  445.             PIXIT, in order to determine the restrictions on the selection and 
  446.             parameterization of test cases for execution, and on the order in 
  447.             which they can be executed (see section 14);
  448.  
  449.        g)   consider the procedures for maintaining the abstract test suite (see 
  450.             section 15).
  451.  
  452.        The remainder of this section provides requirements and  guidance  which
  453. relate to each step in the above process.
  454.  
  455. 9.     Determining the conformance requirements and PICS
  456.  
  457. 9.1    Introduction
  458.  
  459.        Before an abstract test suite can be specified, the test suite specifier 
  460. shall first determine what the conformance requirements are  for  the  relevant
  461. Recommendation(s)* and what is stated  in  the  PICS  proforma  concerning  the
  462. implementation of those Recommendation(s)*.
  463.  
  464. 9.2    Conformance requirements
  465.  
  466.        Section 1 of this part of the Recommendation specifies the requirements to 
  467. be met by protocol specifiers as a prerequisite to the production of an abstract 
  468. test suite for a particular protocol.
  469.  
  470.        In practice, early OSI*  Recommendations*  might  not  contain  a  clear
  471. specification of all the relevant conformance requirements. In particular,  the
  472. static conformance requirements might be badly specified or even omitted. In such 
  473. cases, the test suite specifier shall contribute to the production of an amendment 
  474. or addendum to the  relevant  Recommendation(s)*  to  clarify  the  conformance
  475. requirements. If, however, an abstract test suite has to be produced in advance of 
  476. the conformance requirements being clarified in the relevant Recommendation(s)*, 
  477. then the test suite specifier shall adopt the short-term solution given in Annex C 
  478. and state clearly in the test suite Recommendation* what the implications of this 
  479. are (i.e. what is assumed to be mandatory, what conditional and what the conditions 
  480. are, and what is assumed to be optional).
  481.  
  482. 9.3    PICS proforma
  483.  
  484.  
  485.  
  486.  
  487.  
  488.  
  489.  
  490.        If no PICS proforma is included in a relevant protocol Recommendation*, the 
  491. test suite specifier shall provide a PICS proforma to be processed as an addendum 
  492. to that Recommendation*, or in exceptional circumstances (as discussed in  7.1.1) 
  493. as an annex to the abstract test suite Recommendation*.
  494.  
  495. Note - Progressing an addendum to an existing protocol Recommendation* may well be 
  496. faster than progressing the abstract test suite Recommendation* because the PICS 
  497. proforma is likely to be less controversial than the test suite and therefore is 
  498. likely to require fewer revisions before a final text can be agreed.
  499.  
  500. 10.    Test suite structure
  501.  
  502. 10.1   Basic requirements
  503.  
  504.        An abstract test suite shall comprise a number of test cases.  The  test
  505. cases shall be grouped into test groups, if necessary nested. The structure shall 
  506. be hierarchical in the sense that an item at a lower level shall be  completely
  507. contained within a higher level item. The structure need not, however, be strictly 
  508. hierarchical in the sense that any one test case may occur in more than one test 
  509. suite or test group. Similar test groups may occur in more than one higher level 
  510. test group or test suite.
  511.  
  512.        The abstract test suite specifier shall ensure that a subset of the test 
  513. purposes of each abstract test suite is concerned with capability testing,  and
  514. another subset is concerned with behaviour testing. This need not lead to distinct 
  515. test cases for behaviour and capability testing because it may be possible to use 
  516. the same test steps for both a behaviour test purpose and for a capability test 
  517. purpose. The test suite specifier shall provide an explanation of how the  test
  518. purposes are derived from or relate to the protocol Recommendation*. The test suite 
  519. specifier shall also provide a summary of the coverage achieved by the test suite.
  520.  
  521. 10.2   The test group structure
  522.  
  523.        In order to ensure that the resulting abstract test suite provides adequate 
  524. coverage of the relevant conformance requirements, the test suite specifier  is
  525. advised to design the test suite structure in terms of nested test groups in a top 
  526. down manner (see Figure 1).
  527.  
  528.        There are many ways of structuring the same test suite into test groups; no 
  529. one way is necessarily right and the best approach for one test suite may not be 
  530. appropriate for another test suite. Nevertheless, the test suite specifier shall 
  531. ensure that the test suite includes test cases for whichever of  the  following
  532. categories is relevant:
  533.  
  534.        a)   capability tests (for static conformance requirements);
  535.  
  536.        b)   behaviour tests of valid behaviour;
  537.  
  538.        c)   behaviour tests of syntactically invalid behaviour;
  539.  
  540.        d)   behaviour tests of inopportune behaviour;
  541.  
  542.        e)   tests focusing on PDUs sent to the IUT;
  543.  
  544.        f)   tests focusing on PDUs received from the IUT;
  545.  
  546.        g)   tests focusing on interactions between what is  sent  and
  547.             received;
  548.  
  549.  
  550.  
  551.  
  552.  
  553.  
  554.  
  555.  
  556.  
  557.  
  558.  
  559.  
  560.        h)   tests related to each protocol mandatory feature;
  561.  
  562.        i)   tests related to each optional feature which is implemented;
  563.  
  564.        j)   tests related to each protocol phase;
  565.  
  566.        k)   variations in the test event occurring in a particular state;
  567.  
  568.        l)   timing and timer variations;
  569.  
  570.        m)   PDU encoding variations;
  571.  
  572.        n)   variations in values of individual parameters;
  573.  
  574.        o)   variations in combinations of parameter values.
  575.  
  576.        This list is not exhaustive; additional categories might be  needed  to
  577. ensure adequate coverage of the relevant conformance requirements for a specific 
  578. test suite. Furthermore, these categories overlap one another and it is the task 
  579. of the test suite specifier to  put  them  into  an  appropriate  hierarchical
  580. structure.
  581.  
  582.        The following structure is an example of  a  single-layer  test  suite,
  583. provided for guidance:
  584.  
  585.        A.   Capability tests
  586.  
  587.             A.1  Mandatory features
  588.  
  589.             A.2  Optional features said by the PICS to be supported
  590.  
  591.        B.   Behaviour tests: response to valid behaviour by  peer
  592.             implementation
  593.  
  594.             B.1  Connection establishment phase (if relevant)
  595.  
  596.                  B.1.1  Focus on what is sent to the IUT
  597.  
  598.                        B.1.1.1  Test event variation in each state
  599.                        B.1.1.2  Timing/timer variation
  600.                        B.1.1.3  Encoding variation
  601.                                               B.1.1.4  Individual parameter value variation
  602.                        B.1.1.5  Combination of parameter values
  603.  
  604.  
  605.  
  606.  
  607.  
  608.  
  609.  
  610.                  B.1.2  Focus on what is received from the IUT
  611.  
  612.                                               -  substructured as B.1.1
  613.  
  614.                  B.1.3  Focus on interactions
  615.  
  616.                                               -  substructured as B.1.1
  617.  
  618.             B.2  Data transfer phase
  619.  
  620.                  -  substructured as B.1
  621.  
  622.             B.3  Connection release phase (if relevant)
  623.  
  624.                  -  substructured as B.1
  625.  
  626.        C.   Behaviour tests: response to syntactically invalid behaviour by
  627.             peer implementation 
  628.  
  629.             C.1  Connection establishment phase (if relevant)
  630.  
  631.                  C.1.1  Focus on what is sent to the IUT
  632.  
  633.                                               C.1.1.1  Test event variation in each state
  634.                        C.1.1.2  Encoding variation of the invalid event
  635.                        C.1.1.3  Individual invalid parameter value
  636.                                 variation
  637.                        C.1.1.4  Invalid parameter value combination
  638.                                 variation
  639.  
  640.                  C.1.2  Focus on what the IUT is requested to send
  641.  
  642.                        C.1.2.1   Individual  invalid  parameter   values
  643.                     C.1.2.2  Invalid combinations of parameter values
  644.  
  645.             C.2  Data transfer phase
  646.  
  647.                  -  substructured as C.1
  648.  
  649.             C.3  Connection release phase (if relevant)
  650.  
  651.                  -  substructured as C.1
  652.  
  653.        D.   Behaviour tests: response to inopportune events  by  peer
  654.             implementation
  655.  
  656.             D.1  Connection establishment phase (if relevant)
  657.  
  658.                  D.1.1 Focus on what is sent to the IUT
  659.  
  660.                        D.1.1.1  Test event variation in each state
  661.                        D.1.1.2  Timing/timer variation
  662.                        D.1.1.3  Special encoding variations
  663.                        D.1.1.4  Major individual parameter  value  variations
  664.                        D.1.1.5  Variation in major combination  of  parameter
  665.     values
  666.  
  667.                  D.1.2 Focus on what is requested to be sent by the IUT
  668.  
  669.  
  670.  
  671.  
  672.  
  673.  
  674.  
  675.  
  676.  
  677.  
  678.  
  679.  
  680.                        -  substructured as D.1.1
  681.  
  682.             D.2  Data transfer phase
  683.  
  684.                  -  substructured as D.1
  685.  
  686.             D.3  Connection release phase (if relevant)
  687.  
  688.                  -  substructured as D.1
  689.  
  690.        If the test suite is to cover more than one layer, then a single-layer 
  691. test suite structure such as this could be replicated for each layer
  692. concerned. In addition, a correspondingly detailed structure could be produced for 
  693. testing the capabilities and behaviour of multiple layers taken as a whole, including 
  694. the interaction between the activities in adjacent layers.
  695.  
  696. 10.3   Test purposes
  697.  
  698.        The test suite specifier shall ensure that, for each test case in an abstract 
  699. test suite, there is a clear statement of the test purpose. It is suggested that these 
  700. test purposes should be produced as the next refinement of the test suite, after its 
  701. structure in terms of test groups has been defined. The  test  purposes  could  be
  702. produced directly from studying those sections in the relevant  Recommendation(s)*
  703. which are appropriate to the test group concerned. For some test groups, the  test
  704. purposes might be derivable directly from the protocol state table; for others, they 
  705. might be derivable from the PDU encoding definitions or the descriptions of particular 
  706. parameters, or from text which specifies the  relevant  conformance  requirements.
  707. Alternatively, the test suite specifier could employ a formal description  of  the
  708. protocol(s) concerned and derive test purposes from that by means of some automated 
  709. method.
  710.  
  711.        Whatever method is used to derive the test purposes, the test suite specifier 
  712. shall ensure that they provide an adequate coverage of the conformance requirements of 
  713. the Recommendation(s)* concerned. There shall be at least one test purpose related to 
  714. each distinct conformance requirement.
  715.  
  716.        In addition, it is possible to give guidance on the  meaning  of  "adequate
  717. coverage" with reference to the above example. In order to express this, a shorthand 
  718. notation will be used: the letter "x" will represent all appropriate values for the 
  719. first digit in the test group identifier, and similarly "y" for the second digit, so 
  720. that B.x.y.1 stands for B.1.1.1, B.1.2.1, B.1.3.1, B.2.1.1, B.2.2.1, B.2.3.1, B.3.1.1, 
  721. B.3.2.1 and B.3.3.1. With this notation, a minimum "adequate coverage" for the above 
  722. example is considered to be as follows:
  723.  
  724.        a)   for capability test groups (A.1, A.2):
  725.  
  726.             1)   at least one test purpose per relevant feature, class or
  727.                  subset;
  728.  
  729.             2)   at least one test purpose per relevant PDU type  and  each
  730.                  major variation of each such type, using "normal" or default 
  731.                  values for each parameter;
  732.  
  733.        b)   for test groups concerned with test event variation in  each  state
  734.             (B.x.y.1, C.x.1.1, D.x.y.1):
  735.  
  736.                 at least one test purpose per  relevant  state/event
  737.                  combination;
  738.  
  739.  
  740.  
  741.  
  742.  
  743.  
  744.  
  745.        c)   for test groups concerned with timers and  timing  (B.x.y.2,
  746.             D.x.y.2):
  747.  
  748.             1)   at least one test purpose concerned with the expiry  of  each
  749.                  defined timer;
  750.  
  751.             2)   at least one test purpose concerned with  very  rapid
  752.                  response for each relevant type of PDU;
  753.  
  754.             3)   at least one test purpose concerned with very slow response for 
  755.                  each relevant type of PDU;
  756.  
  757.        d)   for test groups concerned with encoding  variations  (B.x.y.3,
  758.             C.x.1.2, D.x.y.3):
  759.  
  760.                 at least one test purpose for each relevant  kind  of
  761.                  encoding variation per relevant PDU type;
  762.  
  763.        e)   for test groups concerned with valid individual  parameter  values
  764.             (B.x.y.4, D.x.y.4):
  765.  
  766.             1)   for each relevant integer parameter,  test  purposes
  767.                  concerned with the boundary values and one  randomly
  768.                  selected mid-range value;
  769.  
  770.             2)   for each relevant bitwise parameter, test purposes for as many 
  771.                  values as practical, but not less than all the "normal"  or
  772.                  common values;
  773.  
  774.             3)   for other relevant parameters, at least one  test  purpose
  775.                  concerned with a value different from what  is  considered
  776.                  "normal" or default in other test groups;
  777.  
  778.        f)   for test groups concerned with invalid  individual  parameter
  779.             values (C.x.1.3, C.x.2.1):
  780.  
  781.             1)   for each relevant integer parameter,  test  purposes
  782.                  concerned with invalid values adjacent to the allowed 
  783.                  boundary values plus  one  other  randomly  selected
  784.                  invalid value;
  785.  
  786.             2)   for each relevant bitwise parameter, test purposes for as many 
  787.                  invalid values as practical;
  788.  
  789.             3)   for all other relevant types of parameter, at least one test 
  790.                  purpose per parameter;
  791.  
  792.        g)   for test groups concerned with combinations of  parameter  values
  793.             (B.x.y.5, C.x.1.4, C.x.2.2, D.x.y.5):
  794.  
  795.             1)   at least one test purpose per "critical" value pair;
  796.  
  797.  
  798.  
  799.  
  800.  
  801.  
  802.  
  803.  
  804.  
  805.  
  806.  
  807.  
  808.             2)   at least one test purpose per pair  of  interrelated
  809.                  parameters to test a random combination of  relevant
  810.                  values.
  811.  
  812. 11.    Generic test case specification
  813.  
  814. 11.1   Introduction
  815.  
  816.        The test suite specifier is recommended to specify a  generic  test
  817. suite, particularly if there is an intention  to  produce  more  than  one
  818. abstract test suite.
  819.  
  820.        A generic test suite shall consist of one generic test case for each test 
  821. purpose. Each generic test case will be a refinement of its test purpose, which 
  822. can be used as a common root of corresponding abstract test cases for different 
  823. test methods.
  824.  
  825.        If a generic test suite is produced in advance of abstract test suites, then 
  826. it will be a useful step in the design process. If the  generic  test  suite  is
  827. produced after the production of at least one abstract test suite, then it  will
  828. provide a means of relating different test suites to one another and analyzing where 
  829. there may be gaps in their coverage.
  830.  
  831. 11.2   Description of generic test cases
  832.  
  833.        A generic test case consists of a test description of an "initial state" [of 
  834. the test body] and a specification of the test body in a standardized test notation. 
  835. The "initial state" includes not only the protocol state, but also any necessary 
  836. information concerning the state of the SUT and the testing environment.
  837.  
  838.        The test body is that part of a test case in which verdicts related to the 
  839. test purpose are assigned to foreseen outcomes. The test body:
  840.  
  841.        a)   shall be defined in the style of either the Remote or Distributed test 
  842.             method; 
  843.  
  844.        Note - Generic test cases may use the full expressive power  of  these
  845.        methods (see  12.3.3 for details), including the use of abstract local 
  846.        primitives.
  847.  
  848.        b)   shall assign verdicts to all possible outcomes;  all  outcomes
  849.             yielding "pass" verdicts shall be explicitly identified, whereas 
  850.             all outcomes yielding "fail" or "inconclusive" verdicts shall be 
  851.             either  identified   or   categorized   (which   may   include
  852.             categorization of default verdicts);
  853.  
  854.        c)   shall be described using a standardized test notation; the Tree and 
  855.             Tabular  Combined  Notation  (TTCN)  (defined  in  Annex  D)   is
  856.             recommended.
  857.  
  858. 11.3   Relation of generic to abstract test cases
  859.  
  860.        For a particular abstract test method there may be many  abstract  test
  861. cases that can be derived from a single generic test case. A major  difference
  862. between an abstract test case and a generic test case is that the abstract test 
  863. case includes specifications of a preamble and a postamble. The preamble starts 
  864. from a chosen stable state and leads to the required initial state of the test 
  865. body. The postamble starts from the end of the test body and returns to a chosen 
  866. stable state.
  867.  
  868.  
  869.  
  870.  
  871.  
  872.  
  873.  
  874.        The preamble and postamble may be realized in different ways depending on 
  875. the degree of control and observation provided by the test method used, or
  876. on the variety of different possible stable states which the derived abstract test 
  877. case can start from and end in. These abstract test cases are simply different ways of 
  878. achieving the same test purpose.
  879.  
  880.        In addition, the test body of an abstract test case may be different from the 
  881. corresponding generic test case if the test method used for the abstract test case is 
  882. different from that used for the generic test case.
  883.  
  884.        If a generic test suite is produced, it shall be used as the means of relating 
  885. corresponding abstract test suites for different abstract test methods.
  886.  
  887. 12.    Abstract test methods
  888.  
  889. 12.1   Introduction
  890.  
  891.        Each abstract test suite shall be specified in terms  of  the  control  and
  892. observation of events in accordance with one of the abstract test methods defined in 
  893. this section. The chosen test method determines the points at  which  control  and
  894. observation shall be specified and the categories of events which shall be used (e.g. 
  895. (N-1)-ASPs, (N)-PDUs).
  896.  
  897. 12.2.  General specification of the abstract test methods
  898.  
  899. 12.2.1 End-system IUTs
  900.  
  901.        For IUTs within end-system SUTs there are four categories of abstract  test
  902. methods, one local, and three external ones which assume the lower tester is located 
  903. remotely from the SUT and connected to it by a link or network.
  904.  
  905.        For generality, the test methods are described with reference to an IUT  in
  906. which the highest layer is numbered "Nt" (for "top") and in which the lowest layer 
  907. protocol to be tested is numbered "Nb" (for "bottom"). The IUT may implement protocols 
  908. in layers lower than "Nb", but these are  not  of  interest  in  the  test  method
  909. descriptions. The description applies to single-layer IUTs by taking Nt to be equal to 
  910. Nb.
  911.  
  912. 12.2.2 Abstract local primitives
  913.  
  914.        Abstract test suite specifiers may, if necessary, define a set of  abstract
  915. local primitives (ALPs) to be used in specifying the test  suite.  An  ALP  is  an
  916. abbreviation for a description of control and/or observation to be performed by the 
  917. upper tester, which cannot be described in terms of ASPs but which initiate events or 
  918. state changes defined within the relevant protocol Recommendation(s)*. ALPs may be 
  919. used with any abstract test method for end- system IUTs, but, for simplicity, will not 
  920. be shown in any of the figures which illustrate those methods.
  921.  
  922.        Any test case which uses an ALP shall be optional in the abstract test suite.
  923.  
  924. 12.2.3 The local test methods
  925.  
  926. Abbreviation: L
  927.  
  928.        In this method:
  929.  
  930.        a)   the abstract test suite is specified in terms of  control  and
  931.             observation of (Nb-1)-ASPs and (Nb) to (Nt)-PDUs;
  932.  
  933.  
  934.  
  935.  
  936.  
  937.  
  938.  
  939.  
  940.  
  941.  
  942.  
  943.  
  944.        b)   the abstract test suite is also specified in terms of  control  and
  945.             observation of (Nt)-ASPs;
  946.  
  947.        c)   the abstract test suite may also be specified in terms of control and 
  948.             observation by the upper tester of abstract local primitives (ALPs);
  949.  
  950.        d)   the method requires access to the lower and upper boundaries of the 
  951.             IUT and a mapping between the specified ASPs and their realization 
  952.             within the SUT;
  953.  
  954.        e)   the requirements for the test coordination  procedures  are
  955.             specified in the abstract test suite but no assumption is made 
  956.             regarding their realization;
  957.  
  958.        f)   the upper and lower testers are required to achieve  control  and
  959.             observation of the specified ASPs and the required test coordination 
  960.             procedures. They are assumed to be integrated into the SUT.
  961.  
  962.        This method is illustrated in Figure 1.
  963.  
  964. 12.2.4 External test methods
  965.  
  966. 12.2.4.1    The distributed test method
  967.  
  968. Abbreviation: D 
  969.        In this method:
  970.  
  971.        a)   the abstract test suite is specified in terms of  control  and
  972.             observation of (Nb-1)-ASP"s and (Nb) to (Nt)-PDUs;
  973.  
  974.        b)   the abstract test suite is also specified in terms of  control  and
  975.             observation of (Nt)-ASPs; the method requires access to  the  upper
  976.             boundary of the IUT and a mapping between the (Nt)-ASPs  and  their
  977.             realization within the SUT;
  978.  
  979.        c)   the abstract test suite may also be specified in terms of control and 
  980.             observation by the upper tester of ALPs;
  981.  
  982.        d)   the requirements for the test coordination  procedures  are
  983.             specified in the abstract test suite but no assumption is made 
  984.             regarding their realization;
  985.  
  986.        e)   the upper tester is required to achieve control and observation of 
  987.             the specified (Nt)-ASPs and to achieve the effects of the required 
  988.             test coordination procedures; no other assumptions are made;
  989.  
  990.        f)   the lower tester is required to achieve control and observation of 
  991.             specified (Nb)-ASP"s and specified PDUs and to achieve the required 
  992.             test coordination procedures.
  993.  
  994.        This method is illustrated in Figure 2.
  995.        FIGURE 1/X.290, PART 2                    FIGURE 2/X.290 - PART 2 
  996.          The local test method                   The distributed test method 
  997.        FIGURE 3/X.290, PART 2                    FIGURE 4/X.290, PART 2
  998.  
  999.       The coordinated test method                  The remote test method
  1000.  
  1001.  
  1002.  
  1003.  
  1004.  
  1005.  
  1006.  
  1007. 12.2.4.2 The coordinated test method
  1008.  
  1009. Abbreviation: C
  1010.  
  1011.        In this method:
  1012.  
  1013.        a)   the abstract test suite is specified in terms of  control  and
  1014.             observation of (Nb-1)-ASP"s, (Nb) to (Nt)-PDUs and test management 
  1015.             PDUs (TM-PDUs);
  1016.  
  1017.        b)   (Nt)-ASPs need not be used in the specification of the abstract test 
  1018.             suite; no assumption is made about  the  existence  of  an  upper
  1019.             boundary of the IUT;
  1020.  
  1021.        c)   the requirements for the test coordination  procedures  are
  1022.             specified  in  the  abstract  test  suite  by  means  of  a
  1023.             standardized test management protocol;
  1024.  
  1025.        d)   TM-PDUs may be defined which correspond to ALPS;
  1026.  
  1027.        e)   the upper tester is required to implement the  test  management
  1028.             protocol and achieve the appropriate effects on the IUT;
  1029.  
  1030.        f)   the lower tester is required to achieve control and observation of 
  1031.             specified (Nb)-ASP"s and specified PDUs (including TM-PDUs).
  1032.  
  1033.        This method is illustrated in Figure 3.
  1034.  
  1035. 12.2.4.3 The remote test method
  1036.  
  1037. Abbreviation: R
  1038.  
  1039.        In this method, provision is made for the case where it is not possible to 
  1040. observe and control the upper boundary of the IUT. Also in this method:
  1041.  
  1042.        a)   the abstract test suite is specified in terms of  control  and
  1043.             observation of (Nb-1)-ASP"s and (Nb) to (Nt)-PDUs;
  1044.  
  1045.        b)   (Nt)-ASPs are not used in the specification of the  abstract  test
  1046.             suite; no assumption is made about the existence of an upper boundary 
  1047.             of the IUT;
  1048.  
  1049.        c)   the abstract test suite may also be described in terms of control and 
  1050.             observation of ALPs within the SUT;
  1051.  
  1052.        d)   some requirements for test coordination procedures may be implied or 
  1053.             informally expressed in the abstract test suite but no assumption is 
  1054.             made regarding their feasibility or realization;
  1055.  
  1056.        e)   abstractly the SUT needs to carry out some upper tester functions to 
  1057.             achieve whatever effects of test coordination procedures and whatever 
  1058.             control and/or observation  of  the  IUT  are  implied,  informally
  1059.             expressed or described by ALPs in the abstract test suite for a given 
  1060.             protocol; these functions are not specified nor are any assumptions 
  1061.             made regarding their feasibility or realization;
  1062.  
  1063.        f)   the lower tester is required to achieve control and observation of 
  1064.             specified (Nb)-ASP"s and specified PDUs  and  should  attempt  to
  1065.             achieve the implied or  informally  expressed  test  coordination
  1066.  
  1067.  
  1068.  
  1069.  
  1070.  
  1071.  
  1072.  
  1073.  
  1074.  
  1075.  
  1076.  
  1077.        procedures in accordance with the relevant information in the PIXIT.
  1078.  
  1079.        This method is illustrated in Figure 4.
  1080.  
  1081. 12.2.5 Single-layer, multi-layer and embedded variants
  1082.  
  1083.        Each category of test methods has a variant which can be  applied  to
  1084. single-layer IUTs (abbreviation: S), and another which can be applied to multi- 
  1085. layer IUTs (abbreviation: M), when the set of adjacent layers is to be tested in 
  1086. combination (as a whole).
  1087.  
  1088.        For a multi-layer IUT in which the protocols are to be tested  layer  by
  1089. layer, an embedded variant of the test methods has been defined (abbreviation: E).
  1090.  
  1091.        If control and observation are applied to a means of access to the upper 
  1092. boundary of the entities under test within SUT, then the test methods are normal 
  1093. (and no E is added to the abbreviated name). If, however, control and observation 
  1094. are applied through one or more OSI* layer entities above the entities under test, 
  1095. the test methods are called embedded (and an E is appended to  the  abbreviated
  1096. name).
  1097.  
  1098.        Names of particular variants of the test  methods  shall  be  formed  as
  1099. follows:
  1100.  
  1101.        For example, DSE is the abbreviation for the "distributed single embedded" 
  1102. test method.
  1103.  
  1104. 12.2.6 Open relay-systems
  1105.  
  1106.        For open relay-systems, loop-back and transverse abstract test methods are 
  1107. defined. They are given the abbreviated names: YL and YT, respectively.
  1108.  
  1109. 12.3   Single-layer test methods for single-layer IUTs in end-systems
  1110.  
  1111.        For single-layer test methods, the abstract model of the IUT is called the 
  1112. (N)-entity under test.
  1113.  
  1114. 12.3.1 The Local Single-layer test method
  1115.  
  1116.        The Local Single-layer (LS) abstract test method defines the  points  of
  1117. control and observation as being at the service boundaries above and below the (N)- 
  1118. entity under test. The test events are specified in terms of (N)-ASPs above the 
  1119. IUT, and (N-1)-ASPs and (N)-PDUs below the IUT, as shown in Figure 5. In addition, 
  1120. ALPs may be used as test events. Abstractly, a lower tester  is  considered  to
  1121. observe and control the (N-1)-ASPs and (N)-PDUs while an upper tester observes and 
  1122. controls the (N)-ASPs and ALPs. The requirements to be met by test coordination 
  1123. procedures used to coordinate the realizations of the upper and lower testers are 
  1124. defined in the abstract test suites, although the test coordination  procedures
  1125. themselves are not.
  1126.  
  1127. 12.3.2 The Distributed Single-layer test method
  1128.  
  1129.        The Distributed Single-layer (DS) abstract test method defines the points 
  1130. of control and observation as being at the service boundaries above the (N)-entity 
  1131. under test and above the (N-1)-Service Provider at the SAP remote from the (N) 
  1132. entity under test. The test events are specified in terms of     (N)-ASPs above the 
  1133. IUT and (N-1)-ASP"s and (N)-PDUs remotely, as shown in Figure 6. In addition, ALPs 
  1134. may be used as test events. Abstractly,  lower  and  upper  testers  are  again
  1135. considered to observe and control the behaviour at the respective  points.  The
  1136.  
  1137.  
  1138.  
  1139.  
  1140.  
  1141.  
  1142. requirements to be met by the test coordination procedures are again defined in the 
  1143. abstract test suites, although the procedures themselves are not.
  1144.  
  1145.        For lower layers (1-3) where it may be unrealistic to specify observation 
  1146. and control of (N-1)-ASPs, the lower tester observation and  control  shall  be
  1147. specified in terms of (N)-PDUs and, when necessary, changes in the state of the 
  1148. underlying connection.
  1149.  
  1150. Note - For example, the state of the underlying connection could be changed  by
  1151. setting up a new connection, or resetting or closing an existing connection.
  1152.  
  1153.        The observation and control to be performed  by  the  lower  tester  can
  1154. optionally be specified in terms of (N)-ASP"s where this will reduce the size of 
  1155. the test case specification without loss of required precision.
  1156.  
  1157. 12.3.3 The Coordinated Single-layer test method
  1158.  
  1159.        The Coordinated Single-layer (CS) abstract test method  is  an  enhanced
  1160. version of the DS method, using a standardized upper tester and the definition of a 
  1161. test management protocol to realize the test coordination procedures between the 
  1162. upper and lower testers. The same standardized upper tester and test management 
  1163. protocol are not necessarily applicable  to  all  test  suites  which  use  the
  1164. coordinated method.
  1165.  
  1166.        Standardized upper testers and test management protocols are applicable to 
  1167. a particular standardized abstract test suite for the coordinated test method and 
  1168. may not be applicable to other abstract test suites for the coordinated method.
  1169.  
  1170.        There is only a single point of control and observation, above the    (N- 
  1171. 1)-Service Provider at the SAP remote from the (N)-entity under test. Test events 
  1172. are specified in terms of (N-1)-ASP"s, (N)-PDUs and TM-PDUs, as shown in Figure 7.
  1173.  
  1174.        For lower layers (1-3) where it may be unrealistic to specify observation 
  1175. and control of (N-1)-ASP"s, the observation and control shall be specified in terms 
  1176. of TM-PDUs, (N)-PDUs and, when necessary, changes in the state of the underlying 
  1177. connection.
  1178.  
  1179.        Concerning the test management protocol:
  1180.  
  1181.        a)   the test management protocol shall be implemented within  the  SUT
  1182.             directly above the abstract service boundary at the top of the IUT;
  1183.  
  1184.        b)   the IUT shall not be required to interpret TM-PDUs, only pass them 
  1185.             to and from the upper tester;
  1186.  
  1187.        c)   a test management protocol is only defined for  testing  a
  1188.             particular protocol and so does not need to be independent of 
  1189.             the underlying protocol;
  1190.  
  1191.        d)   verdicts on test cases shall not be based on the ability of the SUT 
  1192.             to exhibit any ASP or parameter of an ASP at  the  upper  service
  1193.             boundary of the IUT, since this would contradict the definition of 
  1194.             the coordinated method in that the upper service boundary of the IUT 
  1195.             is not a point of control and observation in this method. However, 
  1196.             it is recommended that the test management  protocol  be  defined
  1197.             separately from the abstract test suites(s) in order to facilitate 
  1198.             the task of the implementor of an upper tester. This definition (as 
  1199.             with the definition of any OSI* protocol defined by ISO or CCITT) 
  1200.             can refer to the ASPs of its underlying service (i.e. the ASPs at 
  1201.  
  1202.  
  1203.  
  1204.  
  1205.  
  1206.  
  1207.  
  1208.  
  1209.  
  1210.  
  1211.  
  1212.        the upper service boundary of the IUT);
  1213.  
  1214.        e)   TM-PDUs which correspond to ALPs are optional and there  is  no
  1215.             requirement for the upper tester to support them.
  1216.  
  1217.        FIGURE 5/X.290, PART 2                    FIGURE 6/X.290, PART 2
  1218.  
  1219.            The LS test method                        The DS test method 
  1220.  
  1221.  
  1222.  
  1223.  
  1224.  
  1225.  
  1226.  
  1227.        FIGURE 7/X.290, PART 2                    FIGURE 8/X.290, PART 2
  1228.  
  1229.            The CS test method                         The RS test method 
  1230.  
  1231. 12.3.4 The Remote Single-layer test method
  1232.  
  1233.        The Remote Single-layer (RS) abstract test method defines the  point  of
  1234. control and observation as being above the (N-1)-Service Provider at the SAP remote 
  1235. from the (N)-entity under test. The test events are specified in terms of the (N- 
  1236. 1)-ASP"s and (N)-PDUs remotely, as shown in Figure 8. In addition, ALPs may be used 
  1237. as test events. Some requirements for test coordination procedures may be implied 
  1238. or informally expressed in the abstract test suites, but no assumptions shall be 
  1239. made regarding their feasibility or realization.
  1240.  
  1241.        For the lower layers (1-3) where it is unrealistic to specify observation 
  1242. and control of (N-1)-ASP"s, the observation and control shall be specified in terms 
  1243. of (N)-PDUs and when necessary the state of the underlying connection.
  1244.  
  1245.        In addition, in order to overcome the lack of specification of behaviour 
  1246. above the (N)-entity under test, where necessary the required behaviour of  the
  1247. system under test shall be specified in terms of the         (N-1)-ASP"s or (N)- 
  1248. PDUs which need to be observed by the  lower  tester.  This  form  of  implicit
  1249. specification shall be taken to mean "do whatever is necessary within the system 
  1250. under test in order to provoke this required behaviour".
  1251.  
  1252. Note - Such implicit specification is necessary with this test method for any test 
  1253. case which requires an IUT initiated event which cannot be initiated by means of an 
  1254. ALP. Since ALPs may only be defined if the same effect cannot be achieved by ASPs, 
  1255. then any PDU which can be initiated by an ASP needs implicit specification to allow 
  1256. it to be initiated in this test method.
  1257.  
  1258.        However, it is possible that some of the test cases in the abstract test 
  1259. suite cannot be executed (e.g. transmission and maintenance of busy conditions, 
  1260. transmission of consecutive unacknowledged Data PDUs, etc.). In such instances, it 
  1261. is left to the test laboratory and client to negotiate the method by which these 
  1262. tests can be accomplished.
  1263.  
  1264.        Even with such implicit specification of control of the IUT, in this method 
  1265. it is possible to specify control but not observation above the IUT, except through 
  1266. the use of ALPs. This is a major difference between this and the DS and CS test 
  1267. methods.
  1268.  
  1269. 12.4   Multi-layer test methods for multi-layer IUTs (LM, DM, CM, RM)
  1270.  
  1271.        Multi-layer testing, when the combined allowed behaviour of  the  multi-
  1272. layer implementation is known, involves testing all the layers of a multi-layer IUT 
  1273. as a whole, without controlling or observing any of the inter-layer  boundaries
  1274. within the IUT.
  1275.  
  1276.        In the Local Multi-layer (LM) test method the points of observation  and
  1277. control are the service boundaries directly above and below the IUT.  The  test
  1278. events shall be specified in terms of the (Nt)-ASPs and ALPs above the IUT and the 
  1279. (N-1)-ASPs and (N) to (Nt)-PDUs below the IUT.
  1280.  
  1281.        In the Distributed Multi-layer (DM) test method the points of observation 
  1282. and control are at the service boundary above the IUT and above the (N-1)-Service 
  1283. Provider at the SAP remote from the IUT. The test events shall be specified  in
  1284. terms of the (Nt)-ASPs and ALPs above the IUT and the (N-1)-ASP"s and (N) to (Nt)- 
  1285. PDUs remotely.
  1286.  
  1287.  
  1288.  
  1289.  
  1290.  
  1291.  
  1292.  
  1293.  
  1294.  
  1295.  
  1296.  
  1297.  
  1298.        In the Coordinated Multi-layer (CM) test method the point of observation 
  1299. and control is above the (N-1)-Service Provider at the SAP remote from the IUT. The 
  1300. test events shall be specified in terms of the (N-1)-ASP"s, the (N) to (Nt)-PDUs 
  1301. and the TM-PDUs. The test management protocol shall be designed to operate over the 
  1302. (Nt)-Service, where (Nt) is the highest layer in the IUT.
  1303.  
  1304.        In the Remote Multi-layer (RM) test method the point of observation  and
  1305. control is above the (N-1)-Service Provider at the SAP remote from the IUT. The 
  1306. test events shall be specified in terms of the (N-1)-ASP"s and the (N) to    (Nt)- 
  1307. PDUs, ALPs and the implicit specification of the control of the SUT behaviour when 
  1308. necessary. Some requirements for test coordination procedures may be implied or 
  1309. informally expressed, but no assumptions shall be made regarding their feasibility 
  1310. or realization.
  1311.  
  1312. 12.5   Single-layer testing of multi-layer IUTs or SUTs (embedded methods) 
  1313.  
  1314.        In embedded single-layer test methods testing is specified for a single 
  1315. layer within a multi-layer IUT, including the  specification  of  the  protocol
  1316. activity in the layers above the one being tested but without specifying control or 
  1317. observation at service boundaries within the multi-layer IUT. Thus in a multi-layer 
  1318. IUT from layer (N) to (Nt), abstract test cases for testing layer (Ni) shall include 
  1319. the specification of the PDUs in layers (Ni+1) to (Nt) as well as those in layer 
  1320. (Ni).
  1321.  
  1322.        The Local Single-layer Embedded (LSE) test method uses the same points of 
  1323. control and observation as the LM test method for the same set of layers. The test 
  1324. events shall also be specified in the same terms as for the LM test method.  The 
  1325. difference is that the LSE test method concentrates on a single-layer at a time, 
  1326. whereas the LM test method tests the multi-layer IUT as a whole.
  1327.  
  1328.        In the Distributed Single-layer Embedded (DSE) test method for layer (Ni) 
  1329. within a multi-layer IUT from layer (N) to (Nt) the points of  observation  and
  1330. control are at the service boundary above the IUT and above the          (Ni-1)- 
  1331. Service Provider at the SAP remote from the IUT, as illustrated in Figure 9(a). 
  1332. The test events shall be specified in terms of (Nt)-ASPs and ALPs above the IUT and 
  1333. (Ni-1)-ASP"s and (Ni) to (Nt)-PDUs remotely.
  1334.  
  1335. Note - For the top layer in the multi-layer IUT, (Nt), this method is the same as 
  1336. the DS test method.
  1337.  
  1338.        The Coordinated Single-layer Embedded (CSE) test method uses features of 
  1339. both the CM and DSE test methods. The test events shall be specified in terms of 
  1340. (Ni-1)-ASP"s, (Ni) to (Nt)-PDUs and TM-PDUs and the test management protocol shall 
  1341. be designed to operate over the (Nt)-Service. This is illustrated in Figure 9(b).
  1342.  
  1343.        The Remote Single-layer Embedded (RSE) test method uses the same point of 
  1344. control and observation as the RS test method for the same layer, but differs from 
  1345. the RS test method in that (Ni+1) to (Nt)-PDUs shall be specified in test cases for 
  1346. layer (Ni). 
  1347.        Successive use of a single-layer embedded test method (from layer (N) to 
  1348. (Nt)) is called incremental testing of a multi-layer IUT.
  1349.  
  1350.        The DSE/CSE/RSE methods are defined for a single layer under test  in  a
  1351. multi-layer IUT. This does not mean that there  cannot  be  accessible  service
  1352. boundaries within the multi-layer IUT, just that no such boundaries are used in the 
  1353. test methods. Thus, all layers between the layer under test and the highest layer 
  1354. for which PDUs are expressed as test events in the abstract test suite shall be 
  1355. regarded as being part of the multi-layer IUT.
  1356.  
  1357.  
  1358.  
  1359.  
  1360.  
  1361.  
  1362.  
  1363. Note - DME/CME/RME test methods could theoretically be defined to test multiple 
  1364. layers as a whole within a larger multi-layer IUT, but in order to avoid excess 
  1365. complexity, they are not detailed in this Recommendation.
  1366.  
  1367. 12.6   Relay test methods
  1368.  
  1369.        There are two abstract test methods for relay system testing:
  1370.  
  1371.        a)   the loop-back test method (YL): used for testing a relay system from 
  1372.             one subnetwork.
  1373.  
  1374.        This test method is illustrated in Figure 10.
  1375.  
  1376.        For this test method there are two points of observation and control on one 
  1377. subnetwork at SAPs remote from the (N)-Relay. For connection-oriented protocols, it 
  1378. requires that the two test connections are looped together on the far side of the 
  1379. (N)-Relay, but it is not specified whether this looping is performed within the (N)- 
  1380. Relay or in the second subnetwork. For connectionless protocols, it requires that 
  1381. the PDUs are looped back within the second subnetwork and addressed to return to the 
  1382. second point of observation and control.
  1383.  
  1384.        b)   the transverse test method (YT): used for testing a relay system from 
  1385.             two subnetworks.
  1386.  
  1387.        This test method is illustrated in Figure 11.
  1388.  
  1389.        In this test method there are two points of observation and control, one 
  1390. on each subnetwork, at SAPS remote from the (N)-Relay.
  1391.  
  1392.                            FIGURE 9/X.290, PART 2
  1393.                                       
  1394.                           The embedded test methods
  1395.                            FIGURE 10/X.290, PART 2
  1396.                                       
  1397.                          Loop-back test method (YL)
  1398.                            FIGURE 11/X.290, PART 2
  1399.                                       
  1400.                         Transverse test method (YT) 
  1401. 12.7   Choice of test method
  1402.  
  1403. 12.7.1 Introduction
  1404.  
  1405.        Before an abstract test suite can be defined, it is necessary to study 
  1406. all the environments in which the protocol is likely to be tested and
  1407. establish accordingly the abstract test method(s) to be used for the production of one 
  1408. or more abstract test suites.
  1409.  
  1410.        Abstract test suite specifiers shall place a requirement in the abstract test 
  1411. suite Recommendation* defining which abstract test method(s) shall be supported as a 
  1412. minimum by any organization claiming to provide a comprehensive testing service for 
  1413. the protocol(s) in question.
  1414.  
  1415. 12.7.2 IUT environments
  1416.  
  1417.        There is a relation between the test methods and the configurations of  the
  1418. real open systems to be tested.
  1419.  
  1420.        Section 7.2, Part 1 of this Recommendation gives  a  full  account  of  the
  1421.  
  1422.  
  1423.  
  1424.  
  1425.  
  1426.  
  1427.  
  1428.  
  1429.  
  1430.  
  1431.  
  1432. classification of systems and IUTs.
  1433.  
  1434.        When choosing a test method, the test suite specifiers should identify,  if
  1435. they have not already done so, whether the test suites they plan to produce are for 
  1436. IUTs which
  1437.  
  1438.        a)   are single or multi-layer;
  1439.  
  1440.        b)   belong to end or relay systems;
  1441.  
  1442.        c)   belong to complete or partial systems;
  1443.  
  1444.        d)   belong to fully open or mixed systems;
  1445.  
  1446.        e)   have service boundaries accessible or not;
  1447.  
  1448.        f)   are special purpose (i.e. to be used by a single  application)  or
  1449.             general purpose (i.e. to be used by several applications).
  1450.  
  1451. 12.7.3 Applicability of the abstract test methods
  1452.  
  1453.        The possibility of developing an abstract test suite for  a  given
  1454. abstract test method will depend on  the  protocol(s)  being  considered,
  1455. together with the results of the study described in subsection 12.7.2. This 
  1456. applies to the possibility of developing test suites for a given combination 
  1457. of methods (e.g. incremental) or  a  given  variant  of  a  method  (e.g.
  1458. embedded).
  1459.  
  1460.        Some considerations concerning the applicability of the methods to 
  1461. different  layers  are  discussed  in  Appendix  I  of  Part  1  of  this
  1462. Recommendation.
  1463.  
  1464.        One or more appropriate abstract test methods shall be selected  for  the
  1465. protocol being considered.
  1466.  
  1467.        Priorities should be assigned to the various test methods which have been 
  1468. identified, according to the configurations which are most likely to be found in 
  1469. real systems.
  1470.  
  1471. 12.7.4 Illustrative examples
  1472.  
  1473.        Appendix IV provides an illustrative example of the choice of abstract test 
  1474. methods for given protocols.
  1475.  
  1476. 12.8   Test coordination procedures
  1477.  
  1478.        For effective and reliable execution of conformance tests, some set of rules 
  1479. is required for the coordination of the test process between the lower tester and 
  1480. the upper tester. The general objective of these rules is to enable the lower tester 
  1481. to control remotely the operation of the upper tester or  vice  versa,  in  ways
  1482. necessary to run the test suite selected for the IUT.
  1483.  
  1484.        These rules lead to the development of test  coordination  procedures  to
  1485. achieve the synchronization between the lower tester and the upper tester and the 
  1486. management of information exchanged during the testing process. The details and how 
  1487. these effects are achieved are closely related to the characteristics of the SUT, as 
  1488. well as the external test methods.
  1489.  
  1490.        For each abstract test suite using the coordinated, distributed or  local
  1491.  
  1492.  
  1493.  
  1494.  
  1495.  
  1496.  
  1497. test methods, a standard set of test coordination procedures should be developed. 
  1498. This is because those procedures depend on the functionality of the upper tester and 
  1499. definitions of test cases.
  1500.  
  1501.        In the case of the coordinated  test  methods  (CS,  CSE,  CM)  the  test
  1502. coordination procedures are realized by the standardization of a test management 
  1503. protocol. The test management protocol needs to be able to convey requests to the 
  1504. IUT to achieve the effect of a service primitive or ALP and to convey back to the 
  1505. lower tester the record of observations of effects equivalent to the occurrence of 
  1506. service primitives or ALPs. The upper tester should be an implementation of the test 
  1507. management protocol. It will be necessary to add test cases to the abstract test 
  1508. suite for the purpose of testing that the upper tester conforms to the requirements 
  1509. of the test management protocol specification. Such test cases do not contribute to 
  1510. the conformance assessment of the IUT.
  1511.  
  1512.        When defining test cases for the local and distributed test methods,  the
  1513. test suite specifier shall record any constraints on the upper tester and/or test 
  1514. coordination procedures which may be necessary.
  1515.  
  1516. 13.    Specification of abstract test suites
  1517.  
  1518. 13.1   Test cases
  1519.  
  1520. 13.1.1 The abstract test suite specifier shall select an appropriate standardized 
  1521. notation in which to define the abstract test cases. The Tree and Tabular Combined 
  1522. Notation (TTCN), defined in Annex D, is defined for this purpose.
  1523.  
  1524. 13.1.2 Once the test notation and test method have been chosen, then the generic 
  1525. test cases can be expanded into abstract test cases. There are two main kinds of 
  1526. change required to convert a generic test case into an abstract test case. The first 
  1527. is to express the test body in terms of control and observation required by the test 
  1528. method, and, if relevant, include a description of  the  synchronization  needed
  1529. between upper and lower testers. The second kind of change  is  to  specify  the
  1530. preamble and postamble.
  1531.  
  1532. 13.1.3 Specification of preambles and postambles may result in more than one test step 
  1533. for each. The preamble shall start in a stable state and progress to the desired state. 
  1534. Conversely, the postamble shall progress from the final state of the test body to a 
  1535. stable state. A small number of stable states shall be  defined  for  the  protocol
  1536. concerned, always containing as a minimum the "idle"  state. Each abstract test case 
  1537. shall be capable of being run on its own and shall therefore include test steps  to
  1538. start the preamble from the "idle" state and to end the postamble in the "idle" state.
  1539.  
  1540.        However, other stable starting and final states for an abstract test case can be 
  1541. useful when efficient concatenation of abstract test cases is required.
  1542.  
  1543.        Furthermore, in designing the test step structure within the  abstract  test
  1544. cases, the test suite specifier can benefit from using the same test steps in several 
  1545. abstract test cases.
  1546.  
  1547. 13.1.4 In converting from generic test cases to abstract test cases, the test suite 
  1548. specifier shall ensure that the initial state for the test body is preserved, the pass 
  1549. paths through the test body are preserved and the assignment of verdicts to outcomes 
  1550. remains consistent.
  1551.  
  1552.        In order to maintain consistency, the following conditional requirements apply 
  1553. when assigning verdicts to outcomes:
  1554.  
  1555.        a)   if the behaviour of the preamble and the postamble are valid then 
  1556.  
  1557.  
  1558.  
  1559.  
  1560.  
  1561.  
  1562.  
  1563.  
  1564.  
  1565.  
  1566.  
  1567.             the verdict assigned to a particular outcome shall be the same as 
  1568.             that assigned to the corresponding outcome in the generic test 
  1569.             case;
  1570.  
  1571.        b)   if the preamble results in the initial state of the test  body  not
  1572.             being reached, although there is no  invalid  behaviour,  then  the
  1573.             verdict shall be inconclusive;
  1574.  
  1575.        c)   if the preamble results in the initial state of the test  body  not
  1576.             being reached, because of invalid behaviour, then the verdict shall be 
  1577.             "fail but test purpose inconclusive" ("fail type 3");
  1578.  
  1579.        d)   if the postamble exhibits invalid behaviour and the generic test case 
  1580.             (or test body) verdict is "pass" or "inconclusive", then the verdict 
  1581.             shall be "fail but test purpose passed" ("fail type 2") or "fail but 
  1582.             test purpose inconclusive" ("fail type 3"), respectively;
  1583.  
  1584.        e)   if the generic test case (or test body) verdict is  "fail"  then
  1585.             invalid behaviour in the postamble shall not change the  verdict
  1586.             ("fail type 1").
  1587.  
  1588. 13.1.5 The test suite specifier shall also ensure that each abstract test case explicitly 
  1589. identifies all the outcomes assigned the verdict "pass" and identifies or categorizes all 
  1590. the remaining foreseen outcomes, assigning to each individual outcome or  category  a
  1591. verdict "fail" or "inconclusive". All unforeseen outcomes in the test body  shall  be
  1592. assigned either
  1593.  
  1594.        a)   the verdict "fail"; or
  1595.  
  1596.        b)   the verdict "inconclusive".
  1597.  
  1598.        The test suite specifier shall ensure that the application of a) or b) is 
  1599. consistent throughout the abstract test suite. If a) is chosen, then any unforeseen 
  1600. outcome in the preamble shall be assigned the verdict "fail  but  test  purpose
  1601. inconclusive" ("fail type 3"), and any unforeseen outcome in the postamble shall be 
  1602. treated as a protocol violation, leading to the appropriate type of fail verdict.
  1603.  
  1604.        If b) is chosen, then any unforeseen outcome in the  preamble  shall  be
  1605. assigned the verdict "fail but test purpose inconclusive" ("fail type 3"), and any 
  1606. unforeseen outcome in the postamble shall be assigned the appropriate type of fail 
  1607. verdict.
  1608.  
  1609. 13.2   Test suites
  1610.  
  1611.        An abstract test suite specification comprises a set of test cases and test 
  1612. steps. Preceding the test cases themselves shall be the following information:
  1613.  
  1614.        a)   abstract test suite name, date of origin and version number;
  1615.  
  1616.        b)   names (and version numbers) of the protocol Recommendation(s)* for 
  1617.             which test cases are provided;
  1618.  
  1619.        c)   names (and version numbers) of the  service  Recommendation(s)*
  1620.             whose primitives are specified as being observed;
  1621.  
  1622.        d)   name (and version number) of the Recommendation* defining the test 
  1623.             notation, or a reference to an annex for the same if it is  not
  1624.             standardized elsewhere;
  1625.  
  1626.  
  1627.  
  1628.  
  1629.  
  1630.  
  1631.  
  1632.        e)   name of target test method;
  1633.  
  1634.        f)   description of the coverage of the test suite; for  example,  the
  1635.             functional subsets of the protocol  Recommendation(s)*  that  are
  1636.             tested;
  1637.  
  1638.        g)   description of the structure of the test suite, in terms  of  test
  1639.             groups and their relationship to the protocol Recommendation(s)*:
  1640.  
  1641.        h)   description of the test coordination procedures (if applicable in the 
  1642.             test method);
  1643.  
  1644.        i)   statement of which test cases are optional and which mandatory for 
  1645.             conformance to the abstract test suite Recommendation*;
  1646.  
  1647.        j)   information to assist the test realizer and test  laboratory  in
  1648.             their use  of  the  abstract  test  suite  Recommendation*  (see
  1649.             section 14).
  1650.  
  1651. 14.    Use of an abstract test suite specification
  1652.  
  1653.        The abstract test suite specifier shall provide information  in  the
  1654. abstract test suite Recommendation* to assist the test  realizer  and  test
  1655. laboratory in their uses of the test suite. This information shall include, 
  1656. but is not limited to, the following:
  1657.  
  1658.        a)   a mapping of the abstract test cases to the PICS proforma entries to 
  1659.             determine whether or not each abstract test case is to be selected for 
  1660.             the particular IUT; the mapping should be specified in  a  suitable
  1661.             notation for Boolean expressions;
  1662.  
  1663.        b)   a mapping of the abstract test cases to the  PIXIT  proforma
  1664.             entries, to the extent that they are known by the abstract test 
  1665.             suite specifier, to parameterize  the  test  suite  for  the
  1666.             particular IUT and to determine which  selected  test  cases
  1667.             cannot be run with the particular IUT.
  1668.  
  1669.        The test suite specifier shall define a partial PIXIT  proforma.  This
  1670. shall contain a list of all the ALPs used in the test suite (or test management 
  1671. protocol) and a list of all parameters for which the test suite requires values. 
  1672. If any of the required parameter values will be found in the PICS, the  PIXIT
  1673. proforma entry for each such parameter shall reference the corresponding entry in 
  1674. the PICS proforma.
  1675.  
  1676. Note - Other aspects of the PIXIT proforma are for further study.
  1677.  
  1678.        c)   a list of the abstract test cases in the order that shall be used in 
  1679.             the Protocol Conformance Test  Report  (PCTR),  together  with  any
  1680.             information which shall be preserved in the PCTR on the status of each 
  1681.             test case; this is a contribution to  the  development  of  a  PCTR
  1682.             proforma;
  1683.  
  1684.        d)   any restrictions that there may be on the order in which  the  test
  1685.             cases may be executed;
  1686.  
  1687.        e)   reference to the description of the test coordination procedures (if 
  1688.             applicable in the chosen test method);
  1689.  
  1690.        f)   any necessary timing information.
  1691.  
  1692.  
  1693.  
  1694.  
  1695.  
  1696.  
  1697.  
  1698.  
  1699.  
  1700.  
  1701.  
  1702.  
  1703. 15.    Test suite maintenance
  1704.  
  1705.        Once an abstract test suite has been specified and is in use, it  can  be
  1706. expected that errors and omissions in it will be detected by those who are using the 
  1707. test suite. The abstract test suite specifier shall in such circumstances progress 
  1708. the updating of the test suite via the relevant rapid amendment procedures.
  1709.  
  1710.        In addition, from time-to-time, changes will  be  made  to  the  protocol
  1711. Recommendation(s)* to which the test suite  relates.  The  abstract  test  suite
  1712. specifier shall ensure that the test suite is updated as soon as possible  after
  1713. changes to the relevant protocol Recommendation* have been ratified.
  1714.  
  1715.